|
|
As in, the Tape ARchiver.
I was experimenting with Haskell's packaging system yesterday, when I
discovered that when you ask it to build a package file, it actually
expects to find an executable called "TAR.EXE" in the current search
path. Obviously, no such thing exists. This is Windoze, not Unix.
When I asked about it in the Haskell IRC channel, I got attacked by
several fanboys telling me that Tar is The One True Archiver, and that
all others are Inferior to the Ultimate Perfection that is TAR.
Personally, I thought Tar was completely obsolete now?
On the other hand, other than the equally naff Zip format, I'm not aware
of anything else that is really widely supported. (Arguably the 7zip
format is nicer - but who supports that? Er, yeah, 7zip. And nobody
else.) Does anybody here know different?
I don't know for a fact, but I wouldn't be surprised if the next thing
the program did was try to find "GZIP.EXE". :-P
Some fanboy yelled at me that you can't be a "real developer" if you
don't have tools that support Tar. Of course, my problem is not the lack
of such tools - I have 7zip, which handles Tar just fine. My problem is
that I don't have a program named "TAR.EXE" which accepts the same CLI
options as GNU Tar.
Then another fanboy yelled at me that it's "easy" to find a Win32 port
of Tar. Sure, it's so "easy" in fact that I wasted an entire afternoon
trying to do this and ultimately failed.
Specifically, I found a TAR.EXE, but it instantly crashes because it
can't find "cygwin.dll". And, almost unbelievably, I can't find anywhere
on the face of the Internet where I can download this file - including
the Cygwin website!
So the guy yelled at me "well why don't you have Cygwin installed
already?" Er, hello? Why should I have to set up an entire Unix
emulation environment just to develop Haskell programs? Haskell is
supposed to be portable, remember? Suffice it to say the guy didn't
think I could be a "real developer" if I don't have Cygwin installed.
Still, that's nothing. The "standard package layout guide" recommends
that your package's test suite should be named "runtests.sh". As in, a
Unix shell script. Well *that* should be nice and portable, eh?
These problems are not exactly unsolvable. For example, there is a
program called Darcs. It's a revision control system written in Haskell.
It stores change sets in GZipped files. But it doesn't require you to
install GZip to run it. It's statically linked against the GZip library.
In other words, you put DARCS.EXE in your search path, and it just
*works*. Why is Haskell's packager not like this? (I hypothisize that
the answer is: Because nobody ever tests Haskell code on Windoze!)
Talking about all this on the IRC channel, somebody eventually pointed
out that there's an add-on extra that automates some parts of building
and using Haskell packages. And that it *can* build package files on
Windoze without requiring any external tools. But this is a new,
experimental, add-on. You have to find and install it yourself,
manually. (Whereas the Haskell packaging system is a standard part of
the development environment.)
Immature software, anyone?
Anyway, I'm ranting now...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
|